package com.ruoyi.training.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 学员对象 students
 * 
 * @author ruoyi
 * @date 2025-09-16
 */
public class Students extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 学员id */
    private String studentId;

    /** 学员姓名 */
    @Excel(name = "学员姓名")
    private String studentName;

    /** 单位 */
    private String unitId;

    /** 人员类型 */
    @Excel(name = "人员类型")
    private String userType;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phonenumber;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
    private String email;

    /** 用户性别（0男 1女 2未知） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 账号状态（0正常 1停用） */
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String documentType;

    /** 证件编号 */
    @Excel(name = "证件编号")
    private String idNumber;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 证件有效期开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件有效期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date certificateStarttime;

    /** 证件有效期结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件有效期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date certificateEndtime;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 职务 */
    @Excel(name = "职务")
    private String position;

    /** 学历 */
    @Excel(name = "学历")
    private String qualification;

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String graduatedFrom;

    /** 专业 */
    @Excel(name = "专业")
    private String major;

    /** 联系地址 */
    @Excel(name = "联系地址")
    private String address;

    /** 邮政编码 */
    @Excel(name = "邮政编码")
    private String postCode;

    /** 传真 */
    @Excel(name = "传真")
    private String fax;

    /** 留痕状态 */
    private String isTrace;

    /**  */
    @Excel(name = "")
    private String exampleOne;

    /**  */
    @Excel(name = "")
    private String exampleTwo;

    /**  */
    @Excel(name = "")
    private String exampleThree;

    public String getUnitId() {
        return unitId;
    }

    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    public void setStudentId(String studentId)
    {
        this.studentId = studentId;
    }

    public String getStudentId() 
    {
        return studentId;
    }

    public void setStudentName(String studentName) 
    {
        this.studentName = studentName;
    }

    public String getStudentName() 
    {
        return studentName;
    }

    public void setUserType(String userType) 
    {
        this.userType = userType;
    }

    public String getUserType() 
    {
        return userType;
    }

    public void setPhonenumber(String phonenumber) 
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber() 
    {
        return phonenumber;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setDocumentType(String documentType)
    {
        this.documentType = documentType;
    }

    public String getDocumentType()
    {
        return documentType;
    }

    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }

    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }

    public void setCertificateStarttime(Date certificateStarttime) 
    {
        this.certificateStarttime = certificateStarttime;
    }

    public Date getCertificateStarttime() 
    {
        return certificateStarttime;
    }

    public void setCertificateEndtime(Date certificateEndtime) 
    {
        this.certificateEndtime = certificateEndtime;
    }

    public Date getCertificateEndtime() 
    {
        return certificateEndtime;
    }

    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }

    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }

    public void setQualification(String qualification) 
    {
        this.qualification = qualification;
    }

    public String getQualification() 
    {
        return qualification;
    }

    public void setGraduatedFrom(String graduatedFrom) 
    {
        this.graduatedFrom = graduatedFrom;
    }

    public String getGraduatedFrom() 
    {
        return graduatedFrom;
    }

    public void setMajor(String major) 
    {
        this.major = major;
    }

    public String getMajor() 
    {
        return major;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setPostCode(String postCode) 
    {
        this.postCode = postCode;
    }

    public String getPostCode() 
    {
        return postCode;
    }

    public void setFax(String fax) 
    {
        this.fax = fax;
    }

    public String getFax() 
    {
        return fax;
    }

    public void setIsTrace(String isTrace) 
    {
        this.isTrace = isTrace;
    }

    public String getIsTrace() 
    {
        return isTrace;
    }

    public void setExampleOne(String exampleOne) 
    {
        this.exampleOne = exampleOne;
    }

    public String getExampleOne() 
    {
        return exampleOne;
    }

    public void setExampleTwo(String exampleTwo) 
    {
        this.exampleTwo = exampleTwo;
    }

    public String getExampleTwo() 
    {
        return exampleTwo;
    }

    public void setExampleThree(String exampleThree) 
    {
        this.exampleThree = exampleThree;
    }

    public String getExampleThree() 
    {
        return exampleThree;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("studentId", getStudentId())
            .append("studentName", getStudentName())
            .append("unitId", getUnitId())
            .append("userType", getUserType())
            .append("phonenumber", getPhonenumber())
            .append("email", getEmail())
            .append("sex", getSex())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("documentType", getDocumentType())
            .append("idNumber", getIdNumber())
            .append("birthDate", getBirthDate())
            .append("certificateStarttime", getCertificateStarttime())
            .append("certificateEndtime", getCertificateEndtime())
            .append("nation", getNation())
            .append("position", getPosition())
            .append("qualification", getQualification())
            .append("graduatedFrom", getGraduatedFrom())
            .append("major", getMajor())
            .append("address", getAddress())
            .append("postCode", getPostCode())
            .append("fax", getFax())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isTrace", getIsTrace())
            .append("exampleOne", getExampleOne())
            .append("exampleTwo", getExampleTwo())
            .append("exampleThree", getExampleThree())
            .append("remark", getRemark())
            .toString();
    }
}
